home *** CD-ROM | disk | FTP | other *** search
/ Aminet 48 / Aminet 48 (2002)(GTI - Schatztruhe)[!][Apr 2002].iso / Aminet / text / edit / vim60rt.lha / Vim / vim60 / syntax / sdl.vim < prev    next >
Encoding:
Text File  |  2001-05-11  |  6.9 KB  |  168 lines

  1. " Vim syntax file
  2. " Language:    SDL
  3. " Maintainer:    Michael Piefel <piefel@informatik.hu-berlin.de>
  4. " Last Change:    2 May 2001
  5.  
  6. " For version 5.x: Clear all syntax items
  7. " For version 6.x: Quit when a syntax file was already loaded
  8. if version < 600
  9.     syntax clear
  10. elseif exists("b:current_syntax")
  11.     finish
  12. endif
  13.  
  14. if !exists("sdl_2000")
  15.     syntax case ignore
  16. endif
  17.  
  18. " A bunch of useful SDL keywords
  19. syn keyword sdlStatement    task else nextstate
  20. syn keyword sdlStatement    in out with from interface
  21. syn keyword sdlStatement    to via env and use
  22. syn keyword sdlStatement    process procedure block system service type
  23. syn keyword sdlStatement    endprocess endprocedure endblock endsystem
  24. syn keyword sdlStatement    package endpackage connection endconnection
  25. syn keyword sdlStatement    channel endchannel connect
  26. syn keyword sdlStatement    synonym dcl signal gate timer signallist signalset
  27. syn keyword sdlStatement    create output set reset call
  28. syn keyword sdlStatement    operators literals
  29. syn keyword sdlStatement    active alternative any as atleast constants
  30. syn keyword sdlStatement    default endalternative endmacro endoperator
  31. syn keyword sdlStatement    endselect endsubstructure external
  32. syn keyword sdlStatement    if then fi for import macro macrodefinition
  33. syn keyword sdlStatement    macroid mod nameclass nodelay not operator or
  34. syn keyword sdlStatement    parent provided referenced rem
  35. syn keyword sdlStatement    select spelling substructure xor
  36. syn keyword sdlNewState        state endstate
  37. syn keyword sdlInput        input start stop return none save priority
  38. syn keyword sdlConditional    decision enddecision join
  39. syn keyword sdlVirtual        virtual redefined finalized adding inherits
  40. syn keyword sdlExported        remote exported export
  41.  
  42. if !exists("sdl_no_96")
  43.     syn keyword sdlStatement    all axioms constant endgenerator endrefinement endservice
  44.     syn keyword sdlStatement    error fpar generator literal map noequality ordering
  45.     syn keyword sdlStatement    refinement returns revealed reverse service signalroute
  46.     syn keyword sdlStatement    view viewed
  47.     syn keyword sdlExported    imported
  48. endif
  49.  
  50. if exists("sdl_2000")
  51.     syn keyword sdlStatement    abstract aggregation association break choice composition
  52.     syn keyword sdlStatement    continue endmethod handle method
  53.     syn keyword sdlStatement    ordered private protected public
  54.     syn keyword sdlException    exceptionhandler endexceptionhandler onexception
  55.     syn keyword sdlException    catch new raise
  56.     " The same in uppercase
  57.     syn keyword sdlStatement    TASK ELSE NEXTSTATE
  58.     syn keyword sdlStatement    IN OUT WITH FROM INTERFACE
  59.     syn keyword sdlStatement    TO VIA ENV AND USE
  60.     syn keyword sdlStatement    PROCESS PROCEDURE BLOCK SYSTEM SERVICE TYPE
  61.     syn keyword sdlStatement    ENDPROCESS ENDPROCEDURE ENDBLOCK ENDSYSTEM
  62.     syn keyword sdlStatement    PACKAGE ENDPACKAGE CONNECTION ENDCONNECTION
  63.     syn keyword sdlStatement    CHANNEL ENDCHANNEL CONNECT
  64.     syn keyword sdlStatement    SYNONYM DCL SIGNAL GATE TIMER SIGNALLIST SIGNALSET
  65.     syn keyword sdlStatement    CREATE OUTPUT SET RESET CALL
  66.     syn keyword sdlStatement    OPERATORS LITERALS
  67.     syn keyword sdlStatement    ACTIVE ALTERNATIVE ANY AS ATLEAST CONSTANTS
  68.     syn keyword sdlStatement    DEFAULT ENDALTERNATIVE ENDMACRO ENDOPERATOR
  69.     syn keyword sdlStatement    ENDSELECT ENDSUBSTRUCTURE EXTERNAL
  70.     syn keyword sdlStatement    IF THEN FI FOR IMPORT MACRO MACRODEFINITION
  71.     syn keyword sdlStatement    MACROID MOD NAMECLASS NODELAY NOT OPERATOR OR
  72.     syn keyword sdlStatement    PARENT PROVIDED REFERENCED REM
  73.     syn keyword sdlStatement    SELECT SPELLING SUBSTRUCTURE XOR
  74.     syn keyword sdlNewState    STATE ENDSTATE
  75.     syn keyword sdlInput    INPUT START STOP RETURN NONE SAVE PRIORITY
  76.     syn keyword sdlConditional    DECISION ENDDECISION JOIN
  77.     syn keyword sdlVirtual    VIRTUAL REDEFINED FINALIZED ADDING INHERITS
  78.     syn keyword sdlExported    REMOTE EXPORTED EXPORT
  79.  
  80.     syn keyword sdlStatement    ABSTRACT AGGREGATION ASSOCIATION BREAK CHOICE COMPOSITION
  81.     syn keyword sdlStatement    CONTINUE ENDMETHOD ENDOBJECT ENDVALUE HANDLE METHOD OBJECT
  82.     syn keyword sdlStatement    ORDERED PRIVATE PROTECTED PUBLIC
  83.     syn keyword sdlException    EXCEPTIONHANDLER ENDEXCEPTIONHANDLER ONEXCEPTION
  84.     syn keyword sdlException    CATCH NEW RAISE
  85. endif
  86.  
  87. " String and Character contstants
  88. " Highlight special characters (those which have a backslash) differently
  89. syn match   sdlSpecial        contained "\\\d\d\d\|\\."
  90. syn region  sdlString        start=+"+  skip=+\\\\\|\\"+  end=+"+  contains=cSpecial
  91. syn region  sdlString        start=+'+  skip=+''+  end=+'+
  92.  
  93. " No, this doesn't happen, I just wanted to scare you. SDL really allows all
  94. " these characters for identifiers; fortunately, keywords manage without them.
  95. " set iskeyword=@,48-57,_,192-214,216-246,248-255,-
  96.  
  97. syn region sdlComment        start="/\*"  end="\*/"
  98. syn region sdlComment        start="comment"  end=";"
  99. syn region sdlComment        start="--" end="--\|$"
  100. syn match  sdlCommentError    "\*/"
  101.  
  102. syn keyword sdlOperator        present
  103. syn keyword sdlType        integer real natural duration pid boolean time
  104. syn keyword sdlType        character charstring ia5string
  105. syn keyword sdlType        self now sender offspring
  106. syn keyword sdlStructure    asntype endasntype syntype endsyntype struct
  107.  
  108. if !exists("sdl_no_96")
  109.     syn keyword sdlStructure    newtype endnewtype
  110. endif
  111.  
  112. if exists("sdl_2000")
  113.     syn keyword sdlStructure    object endobject value endvalue
  114.     " The same in uppercase
  115.     syn keyword sdlStructure    OBJECT ENDOBJECT VALUE ENDVALUE
  116.     syn keyword sdlOperator    PRESENT
  117.     syn keyword sdlType        INTEGER NATURAL DURATION PID BOOLEAN TIME
  118.     syn keyword sdlType        CHARSTRING IA5STRING
  119.     syn keyword sdlType        SELF NOW SENDER OFFSPRING
  120.     syn keyword sdlStructure    ASNTYPE ENDASNTYPE SYNTYPE ENDSYNTYPE STRUCT
  121. endif
  122.  
  123. " ASN.1 in SDL
  124. syn case match
  125. syn keyword sdlType        SET OF BOOLEAN INTEGER REAL BIT OCTET
  126. syn keyword sdlType        SEQUENCE CHOICE
  127. syn keyword sdlType        STRING OBJECT IDENTIFIER NULL
  128.  
  129. syn sync ccomment sdlComment
  130.  
  131. " Define the default highlighting.
  132. " For version 5.7 and earlier: only when not done already
  133. " For version 5.8 and later: only when an item doesn't have highlighting yet
  134. if version >= 508 || !exists("did_sdl_syn_inits")
  135.     if version < 508
  136.     let did_sdl_syn_inits = 1
  137.     command -nargs=+ HiLink hi link <args>
  138.     command -nargs=+ Hi     hi <args>
  139.     else
  140.     command -nargs=+ HiLink hi def link <args>
  141.     command -nargs=+ Hi     hi def <args>
  142.     endif
  143.  
  144.     HiLink  sdlException    Label
  145.     HiLink  sdlConditional    sdlStatement
  146.     HiLink  sdlVirtual        sdlStatement
  147.     HiLink  sdlExported        sdlFlag
  148.     HiLink  sdlCommentError    sdlError
  149.     HiLink  sdlOperator        Operator
  150.     HiLink  sdlStructure    sdlType
  151.     Hi        sdlStatement    term=bold ctermfg=4 guifg=Blue
  152.     Hi        sdlFlag        term=bold ctermfg=4 guifg=Blue gui=italic
  153.     Hi        sdlNewState        term=italic ctermfg=2 guifg=Magenta gui=underline
  154.     Hi        sdlInput        term=bold guifg=Red
  155.     HiLink  sdlType        Type
  156.     HiLink  sdlString        String
  157.     HiLink  sdlComment        Comment
  158.     HiLink  sdlSpecial        Special
  159.     HiLink  sdlError        Error
  160.  
  161.     delcommand HiLink
  162.     delcommand Hi
  163. endif
  164.  
  165. let b:current_syntax = "sdl"
  166.  
  167. " vim: ts=8
  168.